from fastapi import FastAPI, Response

# 创建 FastAPI 应用实例
app = FastAPI(
    title="服务器端程序示例",
    description="基于 FastAPI 的 HTTP 服务器",
    version="1.0.0"
)

# 定义 HTML 内容（与原示例保持一致）
HTML_CONTENT = """
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>服务器端程序示例cp</title>
    <style>
        body {
            font-family: "Microsoft YaHei", sans-serif;
            background-color: #f0f8ff;
            text-align: center;
            padding-top: 100px;
        }
        h1 {
            color: #ff69b4;
            font-size: 48px;
        }
        p {
            color: #555;
            font-size: 24px;
        }
    </style>
</head>
<body>
    <h1>这是第一行</h1>
    <p>“第一行后分段”</p>
    <p>“再分段”</p>
</body>
</html>
"""

# 注册 /index 路由（对应原示例的接口）
@app.get("/index", summary="首页")
async def index():
    # 返回 HTML 响应，设置正确的 Content-Type
    return Response(
        content=HTML_CONTENT,
        media_type="text/html; charset=UTF-8"
    )

# 主函数（启动服务器）
if __name__ == "__main__":
    import uvicorn
    
    # 打印提示信息（与原示例保持一致）
    print("请打开您的浏览器，输入：http://127.0.0.1:8080/index")
    
    # 启动 Uvicorn 服务器（FastAPI 的推荐服务器）
    uvicorn.run(
        "main:app",  # 模块名:应用实例名
        host="127.0.0.1",  # 绑定本地地址
        port=8080,  # 监听 8080 端口
        reload=True  # 开发模式下启用热重载（代码修改后自动重启）
    )